package com.tengju.payment.domain.service.transfer;


import com.tengju.payment.domain.model.channel.ChannelInfo;
import com.tengju.payment.domain.model.transfer.Transfer;
import com.tengju.payment.domain.model.transfer.UnionMerchantBalanceQueryResponse;
import com.tengju.payment.domain.model.transfer.UnionTransferQueryResponse;
import com.tengju.payment.domain.model.transfer.UnionTransferSubmitResponse;
import org.springframework.stereotype.Service;

//抽象顶级转账策略
public interface AbstractTransferService {


    /**
     * 发起转账
     */
    UnionTransferSubmitResponse transfer(Transfer transfer,ChannelInfo channelInfo);


    /**
     * 转账结果查询
     */
    UnionTransferQueryResponse transferQuery(Transfer transfer,ChannelInfo channelInfo);


    /**
     * 商户余额查询
     */
    UnionMerchantBalanceQueryResponse merchantBalanceQuery(ChannelInfo channelInfo);


}
